package com.nodecollege.cloud.common.model.po;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.nodecollege.cloud.common.constants.NCConstants;
import com.nodecollege.cloud.common.utils.DateUtils;
import lombok.Data;

import java.util.Date;

/**
 * Table: upms_role
 * 版权：节点学院
 *
 * @author LC
 * @date 2020-01-14 13:49:31
 */
@Data
public class UpmsRole {
    /**
     * 角色id
     */
    private Long roleId;

    /**
     * 角色名称
     */
    private String roleName;

    /**
     * 角色代码
     */
    private String roleCode;

    /**
     * 角色来源
     * 0-系统预制角色，
     * 1-自定义角色
     */
    private Integer roleSource;

    /**
     * 角色类型
     * 0-组织角色
     * 1-组织成员角色
     */
    private Integer roleType;

    /**
     * 数据权限
     * 0:可以操作该租户的所有数据
     * 1:可以操作所属机构及下级机构所有数据
     * 2:可以操作所属机构及当前机构所有下级机构数据
     * 3:可以操作所属机构的数据
     * 4:可以操作当前机构及下级所有机构数据
     * 5:仅能操作当前机构数据
     * 6:仅能操作用户自己的数据
     */
    private Integer dataPower;

    /**
     * 应用id
     * 角色来源为 0 胸痛预制角色时必填
     */
    private Long appId;

    /**
     * 租户id
     * 角色来源为 1 自定义角色时必填
     */
    private Long tenantId;

    /**
     * 组织机构id
     */
    private Long orgId;

    /**
     * 排序
     */
    private Integer num;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = DateUtils.DATE_PATTERN.YYYY_MM_DD_HH_MM_SS, timezone = NCConstants.TIME_ZONE.SHANGHAI)
    private Date createTime;
    /**
     * 状态 -1-已删除，0: 不可删除，1：可删除, 2：冻结
     */
    private Integer state;
}